package cn.xiaopengstack.types.annotations;

import java.lang.annotation.*;

/**
 * @author jiangyangang
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
@Documented
public @interface RateLimiterAccessInterceptor {

    /**
     * 字段名
     * @return
     */
    String key();

    /**
     * 返回的方法
     * @return
     */
    String fallbackMethod();

    /**
     * 每秒允许通过
     * @return
     */
    double permitsPerSecond();

    /**
     * 加入黑名单次数
     * @return
     */
    int blacklistCount() default 0;
}
